<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    div {
      width: 100px;
      height: 100px;
      background-color: skyblue;

      position: absolute;
      left: 0;
      top: 0;
    }

    p {
      width: 100px;
      height: 100px;
      background-color: orange;

      position: absolute;
      left: 0;
      top: 130px;
    }
  </style>
</head>
<body>

  <div></div>

  <p></p>
  <script>
    // 新需求  点击 div  往右走  500 
    // 修改 div的 left 值

    // 获取元素 
    var divele = document.querySelector('div');
    // 绑定点击事件
    // divele.onclick = function(){
    //     // divele.style.left = '500px';  这样看不到过度效果
    //     //每次往右移动5px  每隔多长时间移动依次(定时器) 
    //     let init = 0; //定义一个初始值  
    //     // 每次让init += 5
    //     const timer = setInterval(()=>{
    //         init+=5;
    //         divele.style.left = `${init}px`;

    //         // 到500停止 
    //         if(init>=500) clearInterval(timer)
    //     },50)

    // }


    // function fn1(ele,type,target){
    //     let init = 0; //定义一个初始值  
    //     // 每次让init += 5
    //     const timer = setInterval(()=>{
    //         init+=5;
    //         ele.style[type] = `${init}px`;

    //         // 到500停止 
    //         if(init>=target) clearInterval(timer)
    //     },50)

    // }

    // fn1(divele,'left',500)
    // 封装成函数 
    // 参数  
    // 1.让哪个元素动   ele
    // 2.怎么动   type
    // 3.什么时候停下来 target   

    function move(ele,type,target,t=50){
        let init = 0; //定义一个初始值  
        const timer = setInterval(()=>{
            init+=5;
            ele.style[type] = `${init}px`;
            if(init>=target) clearInterval(timer)
        },t)

    }


    divele.onclick = function(){
        move(this,'left',500)
    }

    document.querySelector('p').onclick = function(){
        move(this,'top',500,t=66)
    }


  </script>
</body>
</html>